//引入公共函数
let util = require('../../utils/util');

//请求域名的URL
let requestDomain = util.config('requestDomain');

//存放页面实例的变量
let that;

//Page函数
Page({

  //页面公共数据变量
  data: {

    storeHeadImgUrl: '',

    serviceName: '',

    servicePhoto: '',

    requestDomain: requestDomain,

    admin: false

  },

  /**
   * 页面加载触发函数
   */

  onLoad: function (options) {

    //存放页面实例
    that = this;

    //判断是否无修改菜单权限
    if(util.globalData('serviceAuth') == 'admin') {

      that.setData({admin: true});

    }

    let userData = util.globalData('loginData').userData;

    //设置店铺图片
    that.setData({ 
        storeHeadImgUrl: util.config('storePhotoUrl').replace('{storeId}', util.globalData('storeId')) + 'storeHeadImg.jpg',
        servicePhoto: userData.avatarUrl,
        serviceName: util.globalData('serviceName')
    });

  },

  onShow: function () {
    if (!util.status('connected')) {
      util.status('recryConnectDone', true);
      app.wsClose();
    }
  },

  /**
   * 当加载店铺图片失败时调用默认的图片显示
   */

  storeHeadImgLoadFailed: function () {
    console.log('获取店铺图片失败，切换为默认店铺图片');
    that.setData({ storeHeadImgUrl: requestDomain + 'file/getPubFile?type=images&name=storeHeadImg.jpg' });
  },

  /**
   * 进入店铺资料设置操作界面函数
   */

  goStoreInfoSetting: function() {
    util.changePage('storeInfoSetting');
  },

  /**
   * 进入自动回复列表操作界面函数
   */

  goReply: function () {
    util.changePage('replyOpera');
  },

  /**
   * 进入角色管理操作界面函数
   */

  goRole: function () {
    util.changePage('roleOpera');
  },

  /**
   * 进入服务管理界面
   */

  goServiceManager: function() {
    util.changePage('serviceManager');
  },

  /**
   * 进入提现管理界面
   */

  goWithdrawCash: function () {
    util.changePage('withdrawCash');
  },

  /**
   * 进入订单管理界面
   */

  goOrderManager: function() {
    util.changePage('orderManager');
  },

  /**
   * 进入意见反馈页面
   */

  goFeedBack: function() {
    util.changePage('feedBack');
  },

  /**
   * 进入关于页面
   */

  goAbout: function() {
    util.changePage('about');
  },

  /**
   * 点击店铺图片修改
   */

  editHeadImg: function () {

    if(!that.data.admin) {
      return;
    }

    //显示点击图片操作选项
    wx.showActionSheet({

      //选项列表
      itemList: ['更换店铺图片'],

      //完成选择后触发
      success: function (result) {

        //判断选择的选项
        switch (result.tapIndex) {

          //选择了更换店铺图片
          case 0:

            //调用函数让用户选择图片
            wx.chooseImage({

              //只能上传一张图片
              count: 1,

              //只上传压缩过的图片
              sizeType: ['compressed'],

              //图片来源可以为相机或相册
              sourceType: ['album', 'camera'],

              //选择图片完成
              success: function (result) {

                //获得用户选择的图片临时地址
                var storeHeadImg = result.tempFilePaths[0];

                //询问用户是否上传此图片
                wx.showModal({
                  title: '上传图片',
                  content: '是否确定上传此图片作为店铺图片？',
                  success: function (modal) {

                    //判断是否选择确定
                    if (modal.confirm) {

                      //显示上传中的提示
                      wx.showToast({
                        title: '上传图片中',
                        icon: 'loading',
                        mask: true,
                        duration: 10000
                      });

                      //发起上传文件的请求
                      wx.uploadFile({

                        //设置上传文件的URL
                        url: requestDomain + 'file/upload',

                        //设置图片在本地的路径
                        filePath: storeHeadImg,

                        //上传的服务器端目标文件夹名
                        name: 'storeImage',

                        //附带的数据
                        formData: {

                          //商户ID
                          storeId: util.globalData('storeId'),

                          //指定保存的图片名字
                          fileName: 'storeHeadImg.jpg'

                        },

                        //上传成功后触发
                        success: function (result) {

                          //判断结果数据是否是json数据，如果是则转换成对象再返回
                          result.data = util.isJson(result.data);

                          //判断是否调用上传成功
                          if (util.checkSuccess(result)) {

                            //显示上传成功的提示
                            wx.showToast({
                              title: '上传成功',
                              icon: 'success'
                            });

                            //重新设置获取店铺图片的路径
                            var newStoreHeadImgPath = util.config('storePhotoUrl').replace('{storeId}', util.globalData('storeId')) + 'storeHeadImg.jpg&refTimeout=' + Date.now();

                            //更新店铺图片
                            that.setData({ storeHeadImgUrl: newStoreHeadImgPath });

                          }
                          else {

                            //隐藏上传中的提示框
                            wx.hideToast();
                            util.showError('上传失败', '上传店铺图片到服务器失败[' + result.data.errMsg + ']', result.data.errCode);
                          }
                        },

                        //上传失败后触发
                        fail: function () {

                          //隐藏上传中的提示框
                          wx.hideToast();

                          //显示上传失败的错误
                          util.showError('上传失败', '发起上传店铺图片请求失败');

                        }
                      })
                    }
                  }
                });
              }
            })
            break;
        }
      }
    });
  },

  logout: function() {
      wx.showModal({
          title: '确认登出？',
          content: '是否确认退出登录？',
          success: function (modal) {
              if (modal.confirm) {
                  wx.redirectTo({
                      url: '../login/login',
                      fail: function (res) {
                          wx.showModal({
                              title: '跳转失败',
                              content: '登出到登录页面失败',
                          });
                      }
                  });
              }
          }
      });
  }
})